![]() |
PATH![]() |
The ATA_QRelease function releases the frozen I/O queue of the selected device.
When the ATA Manager detects an I/O error and the QLockOnError bit of the parameter block is set for the request, the ATA Manager freezes the queue for the selected device. No pending or new requests are processed or receive status until the queue is released through the ATA_QRelease function. Only those requests with the Immediate bit set in the ATAFlags field of the ataPBHdr parameter block are processed. Consequently, for the ATA I/O queue release command to be processed, it must be issued with the Immediate bit set in the parameter block. An ATA I/O queue release command issued while the queue isn't frozen returns the noErr status.
The manager function code for the ATA_QRelease function is $04.
The parameter block associated with this function is defined below:
struct ataQRelease /* ATA QRelease structure */
{
ataPBHdr
/* ataPBHdr parameter block */
UInt16
Reserved[24];
} ataQRelease;
See Table A-1 for possible result codes returned by the ATA Manager.
Previous | Back Up One Level | Next | Show Frames | Hide Frames